package admin

import (
	"github.com/gin-gonic/gin"
	"goadmin/models"
	"goadmin/service"
	"goadmin/utils"
)

type UserController struct {
	BaseCon BaseController
}

// GetUserList 获取用户列表
func (ctrl UserController) GetUserList(c *gin.Context) {
	// 绑定分页参数
	var pageInfo utils.PageInfo
	if err := c.ShouldBindQuery(&pageInfo); err != nil {
		ctrl.BaseCon.errorMessage(c, "参数错误"+err.Error(), 201)
		return
	}

	// 绑定查询条件
	var query models.UserQuery
	if err := c.ShouldBindQuery(&query); err != nil {
		ctrl.BaseCon.errorMessage(c, "查询参数错误"+err.Error(), 201)
		return
	}

	// 调用服务层
	result, err := service.GetUserList(pageInfo, query)
	if err != nil {
		ctrl.BaseCon.errorMessage(c, "查询失败", 201)
		return
	}
	ctrl.BaseCon.successMessage(c, "查询成功", result)
}
